﻿CREATE PROCEDURE [Cucina].[SP_LimitiProdotto_Par]
	@ProdottoID int,
	@UltimoLimite int OUTPUT,
	@TimeStampLimite datetime OUTPUT,
	@InCoda int OUTPUT,
	@Locked int OUTPUT,
	@Rimanenti int OUTPUT
AS
	SELECT @UltimoLimite = Limite, @TimeStampLimite = L.TimeStampInsert
	FROM Cucina.V_LimitiProdotti L
	WHERE L.ProdottoID = @ProdottoID

	IF (@UltimoLimite IS NOT NULL)
	BEGIN
		SELECT @InCoda = COUNT(*) 
		FROM Cucina.ProdottiOrdinatiComanda PC
		INNER JOIN Cucina.Comanda C
			ON PC.ComandaID = C.ComandaID
		INNER JOIN Cucina.V_LimitiProdotti L
			ON L.ProdottoID = PC.ProdottoID
		WHERE C.DataOra>L.TimeStampInsert
		AND PC.ProdottoID = @ProdottoID

		SELECT @Locked = COUNT(*) 
		FROM Cucina.ProdottoOrdinatoOrdine PO
		WHERE PO.ProdottoID = @ProdottoID

		SET @Rimanenti = @UltimoLimite - @InCoda - @Locked
	END
	ELSE
	BEGIN
		SET @InCoda = NULL
		SET @Locked = NULL
		SET @Rimanenti = NULL
	END
RETURN 0